package org.giovanolli.mumi.controller.report;

import java.util.List;

import org.giovanolli.mumi.controller.AbstractModel;
import org.giovanolli.mumi.entities.Movement;
import org.giovanolli.mumi.entities.Patient;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Controller;

/**
 * The Class MovementModel.
 */
@Controller("movementModel")
@Scope(value = "flow", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MovementModel extends AbstractModel<Movement> implements Cloneable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 3664093136730281152L;

	/** The sort property. */
	private String sortProperty;

	/** The total amount. */
	private Double totalAmount;

	/** The selectable patients. */
	private List<Patient> selectablePatients;

	/**
	 * Instantiates a new movement model.
	 */
	public MovementModel() {
		return;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.giovanolli.mumi.controller.AbstractModel#getPageNumber()
	 */
	public Integer getPageNumber() {
		return pageNumber;
	}

	/**
	 * Gets the selectable patients.
	 * 
	 * @return the selectable patients
	 */
	public List<Patient> getSelectablePatients() {
		return selectablePatients;
	}

	/**
	 * Gets the sort property.
	 * 
	 * @return the sort property
	 */
	public String getSortProperty() {
		return sortProperty;
	}

	/**
	 * Gets the total amount.
	 * 
	 * @return the total amount
	 */
	public Double getTotalAmount() {
		return totalAmount;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.giovanolli.mumi.controller.AbstractModel#setPageNumber(java.lang. Integer)
	 */
	public void setPageNumber(Integer pageNumber) {
		this.pageNumber = pageNumber;
	}

	/**
	 * Sets the selectable patients.
	 * 
	 * @param selectablePatients
	 *            the new selectable patients
	 */
	public void setSelectablePatients(List<Patient> selectablePatients) {
		this.selectablePatients = selectablePatients;
	}

	/**
	 * Sets the sort property.
	 * 
	 * @param sortProperty
	 *            the new sort property
	 */
	public void setSortProperty(String sortProperty) {
		this.sortProperty = sortProperty;
	}

	/**
	 * Sets the total amount.
	 * 
	 * @param totalAmount
	 *            the new total amount
	 */
	public void setTotalAmount(Double totalAmount) {
		this.totalAmount = totalAmount;
	}

}
